#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <string.h>

int main(int argc, char const *argv[])
{
    if(argc != 3) return -1;

    int src_fd = open(argv[1], O_RDONLY|O_EXCL);
    if(src_fd < 2) return -1;

    int dest_fd = open(argv[2], O_CREAT|O_WRONLY, 0755);
    if(dest_fd < 3) return -1;

    char buf[1024] = ""; // 定义缓冲区
    ssize_t len = 0;
    while(1){
        len = read(src_fd, buf, 1024);  // 期待读取1024个字节
        if(len > 0) 
           write(dest_fd, buf, len); // 读多少写多少

        if(len < 1024) break;

    }
    close(src_fd);
    close(dest_fd);
    printf("OK\n");
    return 0;
}
